import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {ReactiveFormsModule} from '@angular/forms';

import {AppComponent} from './app.component';
import {StarComponent} from './components/star/star.component';
import {LoginComponent} from './components/login/login.component';
import {HomeComponent} from './components/home/home.component';
import {ExploreComponent} from './components/explore/explore.component';
import {ThumbnailComponent} from './components/thumbnail/thumbnail.component';
import {RegisterComponent} from './components/register/register.component';
import {TagComponent} from './components/tag/tag.component';
import {DetailComponent} from './components/detail/detail.component';
import {StatComponent} from './components/stat/stat.component';
import {AppRoutingModule} from './app-routing.module';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

import {MatSliderModule} from '@angular/material/slider';
import {FormsModule} from '@angular/forms';
import {HttpClientModule} from '@angular/common/http';
import {NZ_I18N} from 'ng-zorro-antd/i18n';
import {zh_CN} from 'ng-zorro-antd/i18n';
import {registerLocaleData} from '@angular/common';
import zh from '@angular/common/locales/zh';
import {NzButtonModule} from 'ng-zorro-antd/button';
import {NzInputModule} from 'ng-zorro-antd/input';
import {NzFormModule} from 'ng-zorro-antd/form';
import {NzPageHeaderModule} from 'ng-zorro-antd/page-header';
import {NzCheckboxModule} from 'ng-zorro-antd/checkbox';
import {NzCardModule} from 'ng-zorro-antd/card';
import {NzRateModule} from 'ng-zorro-antd/rate';
import {NzMenuModule} from 'ng-zorro-antd/menu';
import {NzIconModule} from 'ng-zorro-antd/icon';
import {NzCommentModule} from 'ng-zorro-antd/comment';
import {NzTypographyModule} from 'ng-zorro-antd/typography';
import {NzLayoutModule} from 'ng-zorro-antd/layout';

import { IconDefinition } from '@ant-design/icons-angular';
import { HeartFill, FireFill, PlayCircleFill, BellOutline, SmileOutline  } from '@ant-design/icons-angular/icons';
import {NzSliderModule} from 'ng-zorro-antd';

registerLocaleData(zh);

const icons: IconDefinition[] = [ HeartFill, FireFill, PlayCircleFill, BellOutline, SmileOutline ];

@NgModule({
  declarations: [
    AppComponent,
    StarComponent,
    LoginComponent,
    HomeComponent,
    ExploreComponent,
    ThumbnailComponent,
    RegisterComponent,
    TagComponent,
    DetailComponent,
    StatComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    MatSliderModule,
    FormsModule,
    HttpClientModule,
    ReactiveFormsModule,

    NzButtonModule,
    NzInputModule,
    NzFormModule,
    NzPageHeaderModule,
    NzCheckboxModule,
    NzCardModule,
    NzRateModule,
    NzMenuModule,
    NzCommentModule,
    NzTypographyModule,
    NzLayoutModule,

    NzIconModule.forRoot(icons),
    NzSliderModule
  ],
  providers: [{provide: NZ_I18N, useValue: zh_CN}],
  bootstrap: [AppComponent]
})
export class AppModule {
}
